﻿Public Class FormAltaTorneo

    Private _miCampeonato As Campeonato

    Private Sub btnAceptar_Click(sender As Object, e As EventArgs) Handles btnAceptar.Click
        Dim nombre, tipo, fechainicio, fechainscripcion, fechafin, rondas As Boolean
        nombre = False
        tipo = False
        fechainicio = False
        fechainscripcion = False
        fechafin = False
        rondas = False


        'Comprobar nombre torneo
        If tbxAnadirNombreTorneo.Text.Length = 0 Then
            ErrorProvider1.SetError(tbxAnadirNombreTorneo, "Introduce el nombre del torneo")
        ElseIf tbxAnadirNombreTorneo.Text.Length > 30 Then
            ErrorProvider1.SetError(tbxAnadirNombreTorneo, "El nombre del torneo no puede exceder de 30 caracteres")
        Else
            ErrorProvider1.SetError(tbxAnadirNombreTorneo, Nothing)
            nombre = True
        End If
        'Comprobar la selección del tipo de torneo
        If cbxAnadirTipoTorneo.SelectedItem Is Nothing Then
            ErrorProvider1.SetError(cbxAnadirTipoTorneo, "Selecciona el tipos de torneo")
        Else
            ErrorProvider1.SetError(cbxAnadirTipoTorneo, Nothing)
            tipo = True
        End If
        'Comprobar que las fecha de inicio sea correcta
        If CDate(dtFechaInscripcion.Text) < DateTime.Today Then
            ErrorProvider1.SetError(dtFechaInscripcion, "No puedes seleccionar una fecha anterior")
        Else
            ErrorProvider1.SetError(dtFechaInscripcion, Nothing)
            fechainicio = True
        End If
        'Comprobar que la fecha de fin de inscripción no sea inferior o igual a la del inicio del torneo
        If CDate(dtpFechaFinInscripcion.Text) < CDate(dtFechaInscripcion.Text) Then
            ErrorProvider1.SetError(dtpFechaFinInscripcion, "La fecha de fin de inscripción no puede ser anterior a la del inicio del torneo")
        ElseIf CDate(dtpFechaFinInscripcion.Text) = CDate(dtFechaInscripcion.Text) Then
            ErrorProvider1.SetError(dtpFechaFinInscripcion, "La fecha de fin de inscripción no puede ser igual a la del inicio del torneo")
        Else
            ErrorProvider1.SetError(dtpFechaFinInscripcion, Nothing)
            fechainscripcion = True
        End If
        'Comprobar que la fecha de fin de torneo no sea inferior o igual a la del inicio de inscripciones
        If CDate(dtpFechaFinTorneo.Text) < CDate(dtpFechaFinInscripcion.Text) Then
            ErrorProvider1.SetError(dtpFechaFinTorneo, "La fecha de fin de inscripción no puede ser anterior a la del inicio de las inscripciones")
        ElseIf CDate(dtpFechaFinTorneo.Text) = CDate(dtpFechaFinInscripcion.Text) Then
            ErrorProvider1.SetError(dtpFechaFinTorneo, "La fecha de fin de inscripción no puede ser igual a la de las inscripciones")
        Else
            ErrorProvider1.SetError(dtpFechaFinTorneo, Nothing)
            fechafin = True
        End If

        'Comprobar el que se seleccionen el número de rondas
        If cbxNumeroRondas.SelectedItem Is Nothing Then
            ErrorProvider1.SetError(cbxNumeroRondas, "Selecciona el número de rondas")
        Else
            ErrorProvider1.SetError(cbxNumeroRondas, Nothing)
            rondas = True
        End If

        'Si todo es correcto se inserta en la base de datos
        If nombre = True And tipo = True And fechainicio = True And fechainscripcion = True And fechafin = True And rondas = True Then
            Me._miCampeonato.insertarTorneo(tbxAnadirNombreTorneo.Text, CStr(cbxAnadirTipoTorneo.SelectedItem), CDate(dtFechaInscripcion.Text), _
                                        CDate(dtpFechaFinInscripcion.Text), CDate(dtpFechaFinTorneo.Text), CByte(cbxNumeroRondas.SelectedItem))
            Me.Close()
        End If
    End Sub

    Private Sub FormAltaTorneo_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.MdiParent = FormEntrada
        _miCampeonato = New Campeonato()
    End Sub

    Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
        Me.Close()
    End Sub
End Class